gsk: Add specific debug type for shaders
authorEmmanuele Bassi <ebassi@gnome.org>
Fri, 8 Jul 2016 15:22:33 +0000 (16:22 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Tue, 18 Oct 2016 10:49:08 +0000 (11:49 +0100)
So that we don't lose GskShaderBuilder debugging messages in the stream
of GskGLRenderer ones.

gsk/gskdebug.c
gsk/gskdebugprivate.h
gsk/gskshaderbuilder.c

index 4b315b08635724ce3dbcf191d8737052c51355a5..c52c0199470694bba5c7d986607de6b6b44e20cc 100644 (file)
@@ -6,6 +6,7 @@ static const GDebugKey gsk_debug_keys[] = {
   { "renderer", GSK_DEBUG_RENDERER },
   { "cairo", GSK_DEBUG_CAIRO },
   { "opengl", GSK_DEBUG_OPENGL },
+  { "shaders", GSK_DEBUG_SHADERS },
 };
 #endif
 
index 48b2f9273555823c226cea2275cb4e6147a201ea..a62ce2d8a27d164f98cd2ea4fa41806e4c694a09 100644 (file)
@@ -9,7 +9,8 @@ typedef enum {
   GSK_DEBUG_RENDER_NODE = 1 << 0,
   GSK_DEBUG_RENDERER    = 1 << 1,
   GSK_DEBUG_CAIRO       = 1 << 2,
-  GSK_DEBUG_OPENGL      = 1 << 3
+  GSK_DEBUG_OPENGL      = 1 << 3,
+  GSK_DEBUG_SHADERS     = 1 << 4
 } GskDebugFlags;
 
 typedef enum {
index 8e3729429f7273ecb1f42fe13366b5073314b8ce..c37a2033495ee9da051d8ceda0909b86c42e18ee 100644 (file)
@@ -260,11 +260,12 @@ gsk_shader_builder_compile_shader (GskShaderBuilder *builder,
   glCompileShader (shader_id);
 
 #ifdef G_ENABLE_DEBUG
-  if (GSK_DEBUG_CHECK (OPENGL))
+  if (GSK_DEBUG_CHECK (SHADERS))
     {
-      g_print ("*** Compiling %s shader ***\n"
+      g_print ("*** Compiling %s shader from '%s' + '%s' ***\n"
                "%s\n",
                shader_type == GL_VERTEX_SHADER ? "vertex" : "fragment",
+               shader_preamble, shader_source,
                source);
     }
 #endif
@@ -395,7 +396,7 @@ gsk_shader_builder_create_program (GskShaderBuilder *builder,
   g_hash_table_insert (builder->programs, GINT_TO_POINTER (program_id), program);
 
 #ifdef G_ENABLE_DEBUG
-  if (GSK_DEBUG_CHECK (OPENGL))
+  if (GSK_DEBUG_CHECK (SHADERS))
     {
       GHashTableIter iter;
       gpointer name_p, location_p;